<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         var name = 'window';
        var obj1 = {
            name:'1',
            fn1:function (){
                console.log(this.name);
            },
            fn2:()=>console.log(this.name),
            fn3: function (){
                return function (){
                    console.log(this.name);
                }
            },
            fn4: function(){
                return () => console.log(this.name);
            }
        };
        var obj2 = {
            name: '2'
        };
        //  obj1.fn1(); //1
        //  obj1.fn1.call(obj2); //2

        //  obj1.fn2(); //window
        //  obj1.fn2.call(obj2); //window

        // obj1.fn3()(); //window 所有的立即执行函数都指向window
        // obj1.fn3().call(obj2); //2 显示
        // obj1.fn3.call(obj2)(); // window

        //obj1.fn4()(); 1
        //obj1.fn4().call(obj2); 1
        //obj1.fn4.call(obj2)(); 2


//         1.邮政编码：由6个数字构成，第一位不可以是0
        //console.log(/^[1-9]\d{5}/.test(1152456));
// 2.手机号码：由13/15/17/18开头的11位数字
        //console.log(/^1[3578]\d{9}/.test(13123456789));
// **3.QQ**号：第一位不可以是0，位数在5-12位数字构成
        //console.log(/^[1-9]\d{5,12}/.test(112345));
// 4.检查是否是压缩文件：文件名由字母、数字、下划线构成，不可以以数字开头，后缀为.zip/rar/gz    |
        //console.log(/^[a-zA-Z_]\w*\.(zip|rar|gz)$/.test("a2a.zip"));
       
// 5.**密码**：字母、数字、下划线构成，6-20位
        //console.log(/^\w{6,20}$/.test("25151A1"));
// 6.**用户名**：字母、数字、下划线构成，6-16位，不能以数字开头
       // console.log(/^[a-zA-Z_]\w{5,15}$/.test("aa2514"));
// 7.输入年龄：只能在18-40间
        //console.log(/(1[89])|(2\d)|(3\d)|40/.test(33));
// 8.**身份证号码**：15或18位，如果是15位则全部为数字，如果为18位，前17位为数字，第18位为数字或字母x，字母不区分大小写
        //console.log(/^(\d{15)}|(\d{17}[\d(?!)x])$/.test("1234561234561231"));
// 9.中文名字：三个汉字、中间必须是小或晓
        //匹配一个汉字的范围[\u4e00-\u9fa5]
       // console.log(/^[\u4e00-\u9fa5][小晓][\u4e00-\u9fa5]$/.test("晓晓晓"));
// 10.字符串去重
       
// 11.字符串去全部空格  *let str = '  dsf sdfs fsdf 第三方  '*  

// 12.字符串去掉左右两边的空格*let str = '  dsf sdfs fsdf 第三方  '* 
    </script>
</body>
</html>